package com.mhg.nio;


import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;

public class Demo_03 {

	public static void main(String[] args) throws IOException {
		// 案例1 写入文本文件
		//1.创建FileOutputStream
		FileOutputStream fos = new FileOutputStream("test_01.txt");
		//2.获取管道
		FileChannel fc = fos.getChannel();
		//3.创建缓冲区
		ByteBuffer bb = ByteBuffer.allocate(1024);
		//4.两缓冲区中放入数据
		bb.put("哈哈".getBytes());
		System.out.println(bb.position());
		//5.在通道读取read 或者 放置put方法执行后 如果要执行 通道write 或者 get方法 必须先调用flip()将position位置归位
		bb.flip();
		System.out.println(bb.position());
		//6.将缓冲区中的数据 通过管道 写入到文件中
		fc.write(bb);
		//7.关闭管道
		fc.close();
		System.out.println("写入完毕");
	}

}